package org.chen.common.translate.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Data
@Schema(description = "翻译请求参数")
public class TranslateRequestDTO {
    @Schema(description = "源文本",
            example = "你好，世界！",
            requiredMode = Schema.RequiredMode.REQUIRED)
    @JsonProperty("SourceText")
    private String sourceText;

    @Schema(description = "源语言",
            example = "zh",
            requiredMode = Schema.RequiredMode.REQUIRED)
    @JsonProperty("Source")
    private String source;

    @Schema(description = "目标语言",
            example = "en",
            requiredMode = Schema.RequiredMode.REQUIRED)
    @JsonProperty("Target")
    private String target;

    @Schema(requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonProperty("ProjectId")
    private Long projectId = 0L;

    @Schema(requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonProperty("UntranslatedText")
    private String untranslatedText;

    @Schema(requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonProperty("TermRepoIDList")
    private List<String> termRepoIDList;

    @Schema(requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonProperty("SentRepoIDList")
    private List<String> sentRepoIDList;
}